package com.guodi.model.service;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.guodi.model.entity.CmeReport;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @描述：体检报告管理表 服务类
 * @作者: 徐金洲
 * @日期: 2023-04-07
 */
public interface ICmeReportService extends IService<CmeReport> {


    /**
     * @描述: 体检报告导出
     * @作者: 徐金洲
     * @日期: 2023-04-12
     * @参数: indicatorsTypeCode 指标体系类型
     * @参数: divisionCode 行政区划编码
     * @参数: year 年份
     * @参数: orgId 机构Id
     * @参数: particularYear 指标体系年份
     * @参数: imageArray  地图图片路径
     */
    void generateCmeReport(HttpServletResponse response, String indicatorsTypeCode, String divisionCode, Integer year, String orgId, String particularYear, CmeReport cmeReport, String imageArray) throws IOException;

    /**
     * @描述: 体检报告导出
     * @作者: 徐金洲
     * @日期: 2023-04-12
     * @参数: indicatorsTypeCode 指标体系类型
     * @参数: divisionCode 行政区划编码
     * @参数: year 年份
     * @参数: orgId 机构Id
     * @参数: particularYear 指标体系年份
     */
    Boolean exportCmeReportReport(HttpServletResponse response, String indicatorsTypeCode, String divisionCode, Integer year, String orgId, String particularYear, CmeReport cmeReport) throws IOException;

    /**
     * @描述: 上传体检报告
     * @作者: 徐金洲
     * @日期: 2023-04-12
     * @参数: cmeReport 体检评估报告
     * @参数: file 体检报告文件
     */
    void uploadFile(CmeReport cmeReport, MultipartFile file) throws IOException;

    /**
     * @描述: 分页查询体检报告信息
     * @作者: 徐金洲
     * @日期: 2023-04-12
     * @参数: cmeReport 体检评估报告
     * @参数: page 分页对象
     */
    Page listByEntity(Page page, String divisionCode, String year, String month, String createTime, String reportName);
}
